package service;


public class ValidateCommodityBatch {

	String error = "";

	public String validate(String cbID, String commodityId, String volume){
		error = "";
		validateCdID(cbID);
		validateCommodityId(commodityId);
		validateVolume(volume);
		return error;
	}

	//################### RAAVARERATCH ID VALIDERING ####################
	private void validateCdID(String cbID){

		try{
			if(cbID.isEmpty()){
				error = error + "<li>Indtast råvarebatch ID</li>";
			}else if(Integer.parseInt(cbID) < 1 || Integer.parseInt(cbID) > 99999999){
				error = error + "<li>Råvarebatch ID skal være mellem 1-99999999</li>";
			}
		}catch(NumberFormatException e){
			error = error + "<li>Råvarebatch ID skal være mellem 1-99999999</li>";
		}

	}

	//################### RAAVARE ID VALIDERING ####################
	private void validateCommodityId(String commodityId){

		try{
			if(commodityId.isEmpty()){
				error = error + "<li>Indtast råvare ID</li>";
			}else if(Integer.parseInt(commodityId) < 1 || Integer.parseInt(commodityId) > 99999999){	
				error = error + "<li>Råvare ID skal være mellem 1-99999999</li>";
			}
		}catch(NumberFormatException e){
			error = error + "<li>Råvare ID skal være mellem 1-99999999</li>";
		}
	}

	//################### VOLUME VALIDERING ####################
	private void validateVolume(String volume){

		try{
			if(volume.isEmpty()){
				error = error + "<li>Indtast mængde</li>";
			}else if(Double.parseDouble(volume) < 0){
				error = error + "<li>Mængde skal være et positivt tal med maks 4 decimaler</li>";
			}
		}catch(NumberFormatException e){
			error = error + "<li>Mængde skal være et positivt tal med maks 4 decimaler</li>";
		}

	}

	public ErrorService createError(){
		ErrorService errorMessage = new ErrorService();
		return errorMessage;
	}

	public String getError(){
		return error;
	}
}
